﻿//* ==========================================================================
// Classe : Globale 
// Fonctions : Classe Globale de de données de fonctionnement 
// 
// License:  License LGPL 
// Version :  0.01    du 13/07/2008 
// Lien : http://outils.codeplex.com 
// Auteur(s) : JF. PACORY
// CopyLeft: CopyLeft (>) 2008-2009 GlopSoft <contact@glopsoft.com>
// Création : 06/20/2009 16:26:44
// Etat : en cours
// Controle du :
// Licence : 
// L'autorisation est accordée, à titre gratuit, à toute personne d'obtenir une copie 
// de ce logiciel et de ses fichiers de documentation, pour pouvoir utiliser 
//ce logiciel sans restriction, y compris, sans s'y limiter, les droits 
// d'utiliser, de copier, de modifier, de fusionner, de publier, de distribuer, 
// de sous-licence, et / ou de vendre les copies du Logiciel, et d'autoriser les 
// personnes auxquelles le logiciel est livré de le faire, sous réserve des 
// conditions suivantes:
// 
// Les avis de droit d'auteur et la présente autorisation doivent être inclus dans 
// toutes les copies ou parties substantielles du Logiciel.
// 
// LE LOGICIEL EST FOURNI "TEL QUEL", SANS GARANTIE DE QUELQUE NATURE QUE CE SOIT, 
// EXPLICITE OU  IMPLICITE, Y COMPRIS, MAIS SANS Y LIMITER LES GARANTIES DE QUALITE 
// MARCHANDE, D'ADEQUATION A UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN 
// AUCUN CAS LES AUTEURS OU LES TITULAIRES DE DROITS D'AUTEUR POURRONT ETRE TENUE 
// RESPONSABLES DE TOUT DOMMAGE,  RÉCLAMATION OU AUTRE  RESPONSABILITE, DANS LE 
// CADRE D'UNE ACTION DE CONTRAT, UN DELIT OU AUTRE, DÉCOULANT DE, OU EN RELATION 
// AVEC LE LOGICIEL OU DE SON UTILISATION OU AUTRES EN RELATION AVEC LE LOGICIEL.
// Licence LGPL : http://commonlibrarynet.codeplex.com/license 
//*---------------------------------------------------------------------------
//
//* ==========================================================================

#region Références

using System;
using System.Configuration;

#endregion

namespace Outils.Globale
{ 
    /// <summary>
    /// Classe Globale de de données de fonctionnement
    /// </summary>
    /// <remarks>13/07/2008</remarks> 
    public static class Globale
    {
        #region Attributs

        private static bool sauvegardeNecessaire;
        private static bool traitementEnCours;
        private static string nomFichierConfiguration = @"\app.config";
        private static string nomFichierConfigBak = @"\app.config.bak";
        private static string nomFichierAide = @"\SQLCub.chm";
        private static string nomFichierTmp = CheminApplication + @"\sqlcube.tmp";
        private static string nomGenerateur = "SQL Cube, JF. PACORY";
        private static string repertoireTmp = @"d:\temp\";

        #endregion

        #region Constantes
        /// <summary>
        /// 
        /// </summary>
        public const string styleHTML = "<style type=\"text/css\">" +
            "table{border-width:thin;  background-color:white;}" +
            "td{border-width:0px thin thin;  border-bottom:thin solid #ff9900;  background-color:#fedc80;  font-family:tahoma;  font-size:8pt;  padding-left:0px;  border-left-color:#ff9900;  margin-left:3px;}" +
            "th{border:none;  color:white;  background-color:#666666;  font-family:tahoma;  font-size:9pt;  height:28pt;}" +
            "body{background-color:#e6e6b8;}" +
            "h1{border-bottom:medium solid red;  color:#3333ff;  background-color:#fdca32;  font-family:tahoma;}" +
            "tr{border-left:thin solid #009900;  border-right:thin solid #009900;}" +
            "h2{font-family:Tahoma;  color:#3333ff;}" +
            "td.impair{border-bottom-style:solid;  border-bottom-color:#ff9900;  font-family:tahoma;  font-size:8pt;  background-color:white;}" +
            "</style>";
        #endregion

        #region Propriétés
        /// <summary>
        /// contient le chemin du programme au lancement de celui-ci
        /// </summary>
        public static string CheminApplication { get; set; }

        /// <summary>
        /// retourne la version du système d'exploitation
        /// </summary>
        public static string VersionSystemeExploitation
        {
            get { return Environment.OSVersion.ToString(); }
        }
        /// <summary>
        /// Paramétrage du répertoire de travail temporaire
        /// </summary>
        public static string RepertoireTmp
        {
            get { return repertoireTmp; }
            set { repertoireTmp = value; }
        }

        /// <summary>
        /// Détermione si la sauvegarde est nécessaire
        /// </summary>
        public static bool SauvegardeNecessaire
        {
            get { return sauvegardeNecessaire; }
            set { sauvegardeNecessaire = value; }
        }/// <summary>
        /// Précise si un traitement est en cours
        /// </summary>
        public static bool TraitementEnCours
        {
            get { return traitementEnCours; }
            set { traitementEnCours = value; }
        }
        /// <summary>
        /// Retourne le site internet
        /// </summary>
        public static string SiteInternet
        {
            get { return "http://www.glopsoft.com"; }
        }
        /// <summary>
        /// Retourne le nom du fichier de configuration
        /// </summary>
        public static string NomFichierConfiguration
        {
            get { return nomFichierConfiguration; }
            set { nomFichierConfiguration = value; }
        }
        /// <summary>
        /// Retourne le nom du fichier de copie de la configuration
        /// </summary>
        public static string NomFichierConfigBak
        {
            get { return nomFichierConfigBak; }
            set { nomFichierConfigBak = value; }
        }

        /// <summary>
        /// Retourne le nom du fichier d'aide
        /// </summary>
        public static string NomFichierAide
        {
            get { return nomFichierAide; }
            set { nomFichierAide = value; }
        }

        /// <summary>
        /// Retourne le nom du fichier de travail temporaire
        /// </summary>
        public static string NomFichierTmp
        {
            get { return nomFichierTmp; }
            set { nomFichierTmp = value; }
        }

        /// <summary>
        /// Retourne le nom du générateur
        /// </summary>
        public static string NomGenerateur
        {
            get { return nomGenerateur; }
            set { nomGenerateur = value; }
        }

        /// <summary>
        /// Retourne l'exécutable de la calculatrice
        /// </summary>
        public static string CalculatriceExe
        {
            get { return "calc.exe"; }
        }

        #endregion

        #region Récupération d'une valeur dans le fichier de configuration : RetourneConfiguration

        /// <summary>Récupération d'une valeur dans le fichier de configuration</summary>        
        /// <remarks>21/06/2008</remarks>
        /// <param name="Cle">Clé de la valeur à retourner</param>
        /// <returns>Chaine correspondant à la clé</returns>
        public static string RetourneConfiguration(string cle)
        {
            //TODO:  à revoir selon .net
            if (cle.EndsWith("TODO")) ;
            return string.Empty;
            //System.Configuration.ConfigurationSettings.AppSettings.Get(Cle);
        }

        #endregion

        #region  Retourne le chemin d'accès complet au Fichier Aide: RetourneNomFichierAide

        /// <summary>
        ///  Retourne le chemin d'accès complet au Fichier Aide
        /// </summary>
        /// <returns>chemin d'accès complet au Fichier Aide</returns>
        public static string RetourneNomFichierAide()
        {
            return Globale.CheminApplication + "\\" + Globale.NomFichierAide;
        }
        #endregion
    }
}
